package com.itheima.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;

import java.io.*;
import java.util.UUID;

public abstract class FileUtils {
    // Endpoint以杭州为例，其它Region请按实际情况填写。
    private static final String ENDPOINT = "https://oss-cn-shanghai.aliyuncs.com";

    // 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维，请登录RAM控制台创建RAM账号。
    private static final String ACCESS_KEY_ID = "LTAI4FyQQVG2TsS9CtBQamap";
    private static final String accessKeySecret = "Iq8Is6i0LawqI3zITdQMiMsboaZnjI";
    private static final String bucketName = "liqinjie";



    public static String upload(String filename, InputStream inputStream){

        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径，例如abc/efg/123.jpg。
        String objectName = UUID.randomUUID().toString()+ filename.substring(filename.lastIndexOf("."));

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(ENDPOINT, ACCESS_KEY_ID, accessKeySecret);

        // 上传文件到指定的存储空间（bucketName）并将其保存为指定的文件名称（objectName）。

        ossClient.putObject(bucketName ,objectName,inputStream);

        try {
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 关闭OSSClient。
        ossClient.shutdown();

        return objectName;

    }


    public static void delete(String path){
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(ENDPOINT, ACCESS_KEY_ID, accessKeySecret);
        // 上传文件到指定的存储空间（bucketName）并将其保存为指定的文件名称（objectName）。

        ossClient.deleteObject(bucketName ,path);

        ossClient.shutdown();
    }


    public static void main(String[] args) throws FileNotFoundException {
//        FileUtils.upload("123.jpg",new FileInputStream("E:\\壁纸\\123.jpg"));

        //delete("4507aae7-f054-4e29-81a7-34cc5ef50baa.jpg");
    }


}
